package com.gxan.web.servlet.training;

import com.alibaba.fastjson.JSONObject;
import com.gxan.pojo.Training;
import com.gxan.service.TrainingService;
import com.gxan.service.impl.TrainingServiceImpl;

import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

//修改培训计划
@WebServlet("/training/updateTraining")
public class UpdateTrainingServlet extends HttpServlet {
    @Override
    public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException {
        response.setContentType("application/json;charset=utf-8");//设置返回结果的编码格式
        Map resultMap = new HashMap<>();//自定义map对象的方式返回结果给前端
        try {
            String params = request.getReader().readLine();//得到前端的数据，字符流的方式读取，一行一行的读取
            Training training = JSONObject.parseObject(params, Training.class);//把传过来的字符串转换成和java对象匹配的数据，自动匹配
            TrainingService trainingService = new TrainingServiceImpl();
            int result = trainingService.updateTraining(training);//得到从数据库返回的结果
            if (result>0){//对返回的结果进行判断
                resultMap.put("code",0);
                resultMap.put("msg","修改成功！");
                //需要将Java对象转换为json字符串对象才能在网络中进行传输，把得到的集合对象转成json数据返回，以流的方式进行传输
                response.getWriter().write(JSONObject.toJSONString(resultMap));
            }
        }catch (Exception e){//处理异常
            e.printStackTrace();
            resultMap.put("code",-1);
            resultMap.put("msg","系统出错了，请联系管理员!!!");
            //需要将Java对象转换为json字符串对象才能在网络中进行传输，把得到的集合对象转成json数据返回，以流的方式进行传输
            response.getWriter().write(JSONObject.toJSONString(resultMap));
        }
        response.getWriter().flush();//刷新流
        response.getWriter().close();//关闭流
    }
}
